package com.qdu.service;

import com.qdu.dao.MovieDao;
import com.qdu.dao.WorkerDao;
import com.qdu.entity.Movie;
import java.util.List;

/**
 * MovieServie类，包含电影相关的业务逻辑方法
 *
 * @author Anna
 */
public class MovieService {

    MovieDao movieDao = new MovieDao();
    WorkerDao workerDao = new WorkerDao();

    /**
     * 获取所有电影的列表
     *
     * @return 一个列表，包含所有电影的基本信息，包括电影编号，中文名，评分，封面图片等
     */
    public List<Movie> findAllMovies() {
        return movieDao.getAllMovies();
    }

    /**
     * 根据电影名称关键字检索电影列表
     *
     * @param keyword 字符串表示的电影名称关键字
     * @return 一个Movie列表，包含查到的电影的基本信息，包括电影编号，中文名，评分，剧情介绍, 封面图片等
     */
    public List<Movie> findMoviesByKeyword(String keyword) {
        return movieDao.getMoviesByKeyword(keyword);
    }

    /**
     * 根据电影编号获得一个电影的所有详细信息
     *
     * @param movieId 字符串表示的电影编号
     * @return 一个Movie对象，包含了一个电影的所有详细信息
     */
    public Movie findMovieById(String movieId) {
        //根据电影编号查询电影的基本信息
        Movie movie = movieDao.getMovieInfoById(movieId);
        //根据电影编号查询该电影的所有工作人员信息，设置为workerList属性的值
        movie.setWorkerList(workerDao.getWorkersByMovieId(movieId));
        return movie;
    }
}
